#include<stdio.h>
int fact2(int n)
{
    int ans=1;
    int i;
    for(i=2;i<=n;i++)
        ans*=i;
    return ans;
}
int fact(int n)
{
    return n<=1?1:fact(n-1)*n;
}
int F[13];
void fill(){
    int i;
    F[0]=F[1]=1;
    for(i=2;i<13;i++)F[i]=F[i-1]*i;
}

int main()
{
    fill();
    int i;
    for(i=0;i<13;i++)
        //printf("%d!=%d\n",i,fact2(i));//O(n)
       // printf("%d!=%d\n",i,fact(i));
       printf("%d!=%d\n",i,F[i]);//O(1)
   return 0;
}
